package com.central.common.redis.properties;

import java.util.List;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 注解缓存统一过期时间配置。
 * 比如：
 * my-config:
 *  cache-manager:
 *   - key: user
 *   - second: 60
 * 标识在使用注解 @Cacheable(value = "user", key = "#username")
 * user开头的注解，默认过期时间为60s，
 */
@Setter
@Getter
@ConfigurationProperties(prefix = "my-config.cache-manager")
public class CacheManagerProperties {

    private List<CacheConfig> configs;

    @Setter
    @Getter
    public static class CacheConfig {

        /**
         * cache key
         */
        private String key;
        /**
         * 过期时间，sec
         */
        private long second = 60;
    }
}
